home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
Amiga
/
Timer.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
2KB
|
113 lines
(**************************************************************************
$RCSfile: Timer.mod $
Description: Interface to timer.device
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 00:51:23 $
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE Timer;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT E := Exec;
(*
** $VER: timer.h 36.16 (25.1.91)
**
** Timer device name and useful definitions.
*)
CONST
(* unit defintions *)
unitMicroHZ * = 0;
unitVBlank * = 1;
unitEClock * = 2;
unitWaitUntil * = 3;
unitWaitEClock* = 4;
name * = "timer.device";
TYPE
TimeValPtr* = CPOINTER TO TimeVal;
TimeVal* = RECORD
secs* : E.ULONG;
micro* : E.ULONG;
END; (* TimeVal *)
EClockValPtr* = CPOINTER TO EClockVal;
EClockVal* = RECORD
hi* : E.ULONG;
lo* : E.ULONG;
END; (* EClockVal *)
TimeRequestPtr* = CPOINTER TO TimeRequest;
TimeRequest* = RECORD (E.IORequest)
time* : TimeVal;
END; (* TimeRequest *)
CONST
(* ioCommand to use for adding a timer *)
addRequest * = E.cmdNonstd;
getSysTime * = E.cmdNonstd+1;
setSysTime * = E.cmdNonstd+2;
(*-- Device base variable----------------------------------------------*)
TYPE
TimerBasePtr * = CPOINTER TO TimerBase;
TimerBase * = RECORD (E.Device) END;
(*-- Device functions -------------------------------------------------*)
(*
** $VER: timer_protos.h 1.6 (25.1.91)
*)
LIBCALL (base : TimerBasePtr) AddTime*
( VAR dest [8] : TimeVal;
VAR src [9] : TimeVal );
- 42;
LIBCALL (base : TimerBasePtr) SubTime*
( VAR dest [8] : TimeVal;
VAR src [9] : TimeVal );
- 48;
LIBCALL (base : TimerBasePtr) CmpTime*
( VAR dest [8] : TimeVal;
VAR src [9] : TimeVal )
: INTEGER;
- 54;
LIBCALL (base : TimerBasePtr) ReadEClock*
( VAR dest [8] : EClockVal )
: E.ULONG;
- 60;
LIBCALL (base : TimerBasePtr) GetSysTime*
( VAR dest [8] : TimeVal );
- 66;
END Timer.